/**
 * Created by 凯 on 2016/3/30.
 */
$(function(){
    bindNavClick();                 //绑定导航选择事件
    //bindEseInFrame();
    //页签浏览选中事件，选中则添加easyui tabs并渲染，padding设置为0，不选中设置为20px
    $('#tab_view_change').change(function(){
        if($(this).prop('checked')){
            $('.padding-md').css('padding', '0px').html('<div id="xh_top_tabs" class="easyui-tabs" fit="true" style="width:100%;height:100%;"></div>');
            //渲染标签页，并添加右键菜单
            $('#xh_top_tabs').tabs({
                onContextMenu:function(e, title, index){
                    e.preventDefault();
                    $('#xh_tab_menu').menu('show', {
                        left: e.pageX,
                        top: e.pageY
                    }).data('tabTitle', title);
                }
            });
            //渲染右键菜单
            $('#xh_tab_menu').menu({
                onClick : function (item) {
                    closeTab(this, item.name);
                }
            });
        }
        else{
            $('.padding-md').css('padding', '20px').html('<iframe name="iframe" src="" frameborder="0" style="width: 100%;height: 100%;"></iframe>');
        }
    }).trigger('change');
    var asideLinkDom = $('.main-menu a[href]');
    if(asideLinkDom.length == 1){
        $('#sidebarToggleLG').trigger('click');
        asideLinkDom.trigger('click');
    }
    ////绑定回车事件
    //document.onkeyup = function(e){
    //    var ev = document.all ? window.event : e;
    //    if(ev.keyCode == 13) {
    //        //判断是否处于锁定状态
    //        if($('#lockScreen').css('display')=='block'){
    //            $('#bt_UnLock').click();
    //        }
    //    }
    //    else if(ev.keyCode == 27){
    //        if($('#lockScreen').css('display')=='none'){
    //            $('#bt_Lock').click();
    //        }
    //    }
    //};
    //$('#lockScreen .modal-body').width($(window).width()).css('margin-top',$(window).height()/2-100);
    //var userId;
    ////锁定按钮
    //$('#bt_Lock').click(function(){
    //    //清除session（防止删除modal层后继续操作）并返回用户id（便于密码验证）
    //    $.post('Index/lockScreen',{},function(userid){
    //        userId=userid;
    //        $('#lockScreen').modal({show: true,backdrop: 'static'});
    //    });
    //});
    ////解锁按钮点击
    //$('#bt_UnLock').click(function(){
    //    var pass = $('#lock_password').val();
    //    if(pass == '') return false;
    //    $.post('Index/unLockScreen', {UserId: userId, Password: $.md5(pass).toUpperCase()}, function(result){
    //        if(result == 'success'){
    //            $('#lockScreen').modal('hide');
    //            $('#lock_password').attr('placeholder', '输入密码...');
    //        }
    //        else{
    //            $('#lock_password').attr('placeholder', '密码错误...');
    //        }
    //    });
    //    window.setTimeout(function(){
    //        $('#lock_password').val('');
    //    }, 1000);
    //});
    //修改密码按钮
    $('#bt_ChangePwd').click(function(){
        window.top.xhTop.showModal({
            title: '修改密码',
            content: '<iframe frameborder="0" src="'+moduleUrl+'Index/pwdChangePage" style="height: 180px;width: 270px;"></iframe>',
            button: '确认修改',
            size: 'sm'
        });
    });
});
//function bindEseInFrame(){
    //iframe内部点击Esc任响应锁定
    //window.setTimeout(function() {
    //    window.frames['iframe'].document.onkeyup = function () {
    //        if(window.frames['iframe'].event.keyCode==27){
    //            if($('#lockScreen').css('display')=='none'){
    //                $('#bt_Lock').click();
    //            }
    //        }
    //    };
    //},1000);
//}
//页签方式打开，已打开则选中，否则新建
function bindNavClick(){
    $('.main-menu a[href]').click(function() {
        //$('.top-nav').removeClass('sidebar-mini');
        //$('aside').removeClass('sidebar-mini');
        var navName     = $(this).find('> span:first').text();
        var href        = $(this).attr('href');
        createNewTab(navName, href, true);
        return false;       //阻止链接跳转
    });
}
/**
 * 新建标签页，如果是标签页模式则判断标题已存在，存在则激活
 * 如果不是标签页浏览，则跳转iframe页面
 *
 * @param _tabTitle     --标签页标题
 * @param _href         --标签页链接
 * @param _noReload     --阻止刷新
 *
 * create by ck 20160902
 * modify by ck 20160907    如果有阻止刷新参数，择已有标签页只选中，否则选中后根据href判断是否需要刷新
 */
function createNewTab(_tabTitle, _href, _noReload){
    var tabTarget = $('#xh_top_tabs', window.top.document);
    if(tabTarget.length > 0){
        if (tabTarget.tabs('exists', _tabTitle)){
            tabTarget.tabs('select', _tabTitle);
            if(!_noReload){
                var tabIndex = tabTarget.tabs('getTabIndex', tabTarget.tabs('getTab', _tabTitle));
                if(window.top.frames[tabIndex].location.href == _href) return false;
                window.top.frames[tabIndex].location.href = _href;
            }
        } else {
            var content = "<iframe frameborder='0'  style='width:100%;' src='" + _href + "'></iframe>";
            tabTarget.tabs('add', {
                title:      _tabTitle,
                content:    content,
                closable:   true,
                selected:   true
            });
            $('.tabs-panels > .panel:last > .panel-body > iframe', window.top.document).css('height', '100%');          //自适应
        }
        return false;
    }
    if(window.top.frames[0].location.href == _href) return false;
    window.top.frames[0].location.href = _href;
}
/**
 * 根据右键菜单及类型操作
 *
 * @param menu
 * @param type
 * @returns {boolean}
 *
 * create by ck 20160902
 */
function closeTab(menu, type) {
    var tabTarget = $('#xh_top_tabs');
    var allTabs = tabTarget.tabs('tabs');
    var allTabtitle = [];
    $.each(allTabs, function (i, n) {
        var opt = $(n).panel('options');
        if (opt.closable)
            allTabtitle.push(opt.title);
    });
    var curTabTitle = $(menu).data('tabTitle');
    var curTabIndex = tabTarget.tabs('getTabIndex', tabTarget.tabs('getTab', curTabTitle));
    switch (type) {
        case 1://关闭当前
            tabTarget.tabs('close', curTabIndex);
            return false;
            break;
        case 2://全部关闭
            for (var i = 0; i < allTabtitle.length; i++) {
                tabTarget.tabs('close', allTabtitle[i]);
            }
            break;
        case 3://除此之外全部关闭
            for (var i = 0; i < allTabtitle.length; i++) {
                if (curTabTitle != allTabtitle[i])
                    tabTarget.tabs('close', allTabtitle[i]);
            }
            tabTarget.tabs('select', curTabTitle);
            break;
        case 4://当前侧面右边
            for (var i = curTabIndex + 1; i < allTabtitle.length; i++) {
                tabTarget.tabs('close', allTabtitle[i]);
            }
            tabTarget.tabs('select', curTabTitle);
            break;
        case 5: //当前侧面左边
            for (var i = 0; i < curTabIndex; i++) {
                tabTarget.tabs('close', allTabtitle[i]);
            }
            tabTarget.tabs('select', curTabTitle);
            break;
        case 6: //刷新
            window.top.frames[curTabIndex].location.reload();
            //var panel = tabTarget.tabs('getTab', curTabTitle).panel('refresh');
            break;
    }

}
/**
 * 根据页签标题关闭标签，非标签模式则后退
 *
 * @param _tabName
 * @returns {boolean}
 *
 * create by ck 20161009
 * modify by ck 20161020    非标签模式则后退
 */
function closeTabByName(_tabName){
    var tabTarget = $('#xh_top_tabs', window.top.document);
    if(tabTarget.length > 0){
        var curTabIndex = tabTarget.tabs('getTabIndex', tabTarget.tabs('getTab', _tabName));
        tabTarget.tabs('close', curTabIndex);
    }
    else{
        window.top.frames[0].history.go(-1);
    }
    return false;
}
/**
 * 关闭当前标签页
 *
 * @returns {boolean}
 *
 * create by ck 20161216
 */
function closeActiveTab(){
    var tabTarget = $('#xh_top_tabs', window.top.document);
    if(tabTarget.length > 0){
        var curTabIndex = tabTarget.tabs('getTabIndex', tabTarget.tabs('getSelected'));
        tabTarget.tabs('close', curTabIndex);
    }
    else{
        window.top.frames[0].history.go(-1);
    }
    return false;
}